package com.yuantu.judiciary.service;

import com.yuantu.judiciary.exception.ServiceException;
import com.yuantu.judiciary.model.api.*;
import com.yuantu.judiciary.model.dto.CaseTaxBreakDTO;

/**
 * 外部接口
 *
 * @author syw
 * @since 2023-06-29
 **/
public interface IOpenApiService {

    String personBadRecord(PersonBadRecordDTO data) throws ServiceException;

    String sanctionById(SanctionByIdDTO data) throws ServiceException;

    String sanctionByName(SanctionByNameDTO data) throws ServiceException;

    String sanctionInfo(SanctionInfoDTO data) throws ServiceException;

    String sanctionList(SanctionByNameDTO data) throws ServiceException;

    String judicialInvolvement(JudicialInvolvementDTO data) throws ServiceException;

    String companyInfo(CompanyInfoDTO data) throws ServiceException;

    String limitHigh(LimitHighDTO data) throws ServiceException;

    String dishonestInfo(DisHonestInfoDTO data) throws ServiceException;

    String enterpriseList(EnterpriseListDTO data) throws ServiceException;

    String faceRecognition(PersonFaceRecognitionDTO data) throws ServiceException;

    String faceRecognitionResult(PersonFaceRecognitionResultDTO data) throws ServiceException;

    String personBadRecordProd(PersonBadRecordDTO data);

    String judicialInvolvementProd(JudicialInvolvementDTO data);

    String personBusinessProd(PersonBadRecordDTO data);

    String companyInfoProd(CompanyInfoDTO data);

    String judicialProd(JudicialInvolvementDTO data);

    String enterpriseListProd(EnterpriseListDTO data);

    String enterpriseCaseProd(EnterpriseCaseDTO data);

    Boolean personAddMonitorProd(MonitorPersonAddDTO data);

    Boolean personRemoveMonitorProd(MonitorPersonAddDTO data);

    MonitorFindResultDTO personFindMonitorProd(MonitorFindPageDTO data);

    MonitorQueryResultDTO personQueryMonitorProd(MonitorQueryPageDTO data);

    Boolean enterAddMonitorProd(MonitorEnterAddDTO data);

    Boolean enterRemoveMonitorProd(MonitorEnterAddDTO data);

    MonitorFindResultDTO enterFindMonitorProd(MonitorFindPageDTO data);

    MonitorQueryResultDTO enterQueryMonitorProd(MonitorQueryPageDTO data);

    String enterQueryTaxBreakProd(CompanyTaxBreakQueryDTO data);

    String enterQueryAdminPunishProd(CompanyAdminPunishPageQueryDTO data);
}
